﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfSnqkGasAnalysis.Model
{

    /// <summary>
    /// json帮助类；处理对象序列化为json字符串。
    /// </summary>
    /// 创建时间：2022-12-12 10:29:02。作者：王浩力
    public static class JsonMyHandle
    {
        public static string ToJsonStr(object obj)
        {
            string json = System.Text.Json.JsonSerializer.Serialize(obj, new System.Text.Json.JsonSerializerOptions()
            {
                Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All)
            });
            return json;
        }

        /// <summary>
        /// 复制对象。修改一个互相不会影响字段值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        /// 创建时间：2022-12-12 10:49:54。作者：王浩力
        public static T CopyObject<T>(object obj)
        {
            string json = System.Text.Json.JsonSerializer.Serialize(obj, new System.Text.Json.JsonSerializerOptions()
            {
                Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All)
            });
            return System.Text.Json.JsonSerializer.Deserialize<T>(json);
        }


    }
}
